import request from '@/utils/request'
import { SET_ARTICLES } from '@/store/actionTypes'
export const getArticles = (params = {page: 1, per_page: 10}) => {
    return  async dispatch => {
        // 背景知识：如果参数的值为null|undefined，axios会自动去掉它

        // 发异步请求
        // status	否		文章状态，0-草稿，1-待审核，2-审核通过，3-审核失败，不传为全部
        // channel_id	是		不传为全部
        // begin_pubdate	否		起始时间
        // end_pubdate	否		截止时间
        // page	否		页码 默认为1页
        // per_page	否		每页数量 不传为默认10
        const res = await request({url: '/mp/articles', params: params })
        console.log('文章数据', res)
        dispatch({
            type: SET_ARTICLES,
            payload: res.data
        })
    }
}

export const delArticle = (id) => {
    return async (dispatch) => {
        await request({method: 'delete', url: `/mp/articles/${id}`})
    }
}

// 获取一个文章
export const getArticle = (id) => {
    return async (dispatch) => {
        const res = await request({url: `/mp/articles/${id}`})
        return res
    }
}

export const editArticle = (data, isDraft) => {
    return async (dispatch) => {
        await request({
            method: 'PUT', 
            url: `/mp/articles/${data.id}`,
            data,
            params: {draft:isDraft }
        })
    }
}

// 添加 文章
export const saveArticle = (data, isDraft) => {
    return async (dispatch) => {
        await request({
            method: 'post', 
            url: `/mp/articles`,
            data,
            params: {draft:isDraft }
        })
    }
}
